﻿/***********************************************************************************************
 * 
 * ProjectName: WMSSoft.Lib.WinKStart
 * 
 * Description: Provides Members needed to configure Startmenu from XML File
 * 
 * Created:     07.01.2014
 * 
 * Author:      matthias wagler - matthias@WMSSoft.de
 * 
 * Copyright:   Copyright 2012 by WMSSoft.net
 * 
 * License:     GPLv3
 * 
 * History:     07.01.2014 - matthias wagler matthias@WMSSoft.de    -   Created
 * 
 **********************************************************************************************/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Media;
using WMSSoft.Lib.Enums;
using WMSSoft.Lib.WinKStart.Classes;
using WMSSoft.Lib.WinKStart.Abstract;

namespace WMSSoft.Lib.WinKStart.Model.MenuConfig
{
    

    public class cRegion : CModelBase
    {
        private string _Name = "";
        private string _Caption = "";
        private string _DataSource = "";
        private string _Filter = "";
        private bool _ShowContextMenu = true;
        private bool _CanAddToFavorites = false;
        private bool _CanRemoveFromFavorites = false;
        private bool _CanNavigate = false;

        private MinimizeablePanels _Panels = new MinimizeablePanels();
        private eRenderType _RenderMethode = eRenderType.Groups;

        public string Filter
        {
            get { return _Filter; }
            set 
            { 
                _Filter = value;
                OnPropertyChanged();
            }
        }

        public string DataSource
        {
            get { return _DataSource; }
            set 
            { 
                _DataSource = value;
                OnPropertyChanged();
            }
        }

        public bool ShowContextMenu
        {
            get { return _ShowContextMenu; }
            set 
            { 
                _ShowContextMenu = value;
                OnPropertyChanged();
            }
        }

        public bool CanAddToFavorite
        {
            get { return _CanAddToFavorites; }
            set 
            { 
                _CanAddToFavorites = value;
                OnPropertyChanged();
            }
        }

        public bool CanRemoveFromFavorites
        {
            get { return _CanRemoveFromFavorites; }
            set 
            { 
                _CanRemoveFromFavorites = value;
                OnPropertyChanged();
            }
        }

        public string Name
        {
            get { return _Name; }
            set 
            { 
                _Name = value;
                OnPropertyChanged();
            }
        }

        public string Caption
        {
            get { return _Caption; }
            set 
            {
                _Caption = value; 
                OnPropertyChanged();
            }
        }

        public MinimizeablePanels Panels
        {
            get { return _Panels; }
        }

        public eRenderType RendererMethode
        {
            get { return _RenderMethode; }
            set 
            { 
                _RenderMethode = value;
                OnPropertyChanged();
            }
        }

        public bool CanNavigate
        {
            get { return _CanNavigate; }
            set 
            { 
                _CanNavigate = value;
                OnPropertyChanged();
            }
        }
    }


}
